even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
↳ QTRS
↳ Overlay + Local Confluence
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
EVEN(s(s(x))) → EVEN(x)
TIMES(s(x), y) → IF_TIMES(even(s(x)), s(x), y)
PLUS(s(x), y) → PLUS(x, y)
IF_TIMES(true, s(x), y) → TIMES(half(s(x)), y)
IF_TIMES(true, s(x), y) → HALF(s(x))
IF_TIMES(true, s(x), y) → PLUS(times(half(s(x)), y), times(half(s(x)), y))
IF_TIMES(false, s(x), y) → PLUS(y, times(x, y))
TIMES(s(x), y) → EVEN(s(x))
IF_TIMES(false, s(x), y) → TIMES(x, y)
HALF(s(s(x))) → HALF(x)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
EVEN(s(s(x))) → EVEN(x)
TIMES(s(x), y) → IF_TIMES(even(s(x)), s(x), y)
PLUS(s(x), y) → PLUS(x, y)
IF_TIMES(true, s(x), y) → TIMES(half(s(x)), y)
IF_TIMES(true, s(x), y) → HALF(s(x))
IF_TIMES(true, s(x), y) → PLUS(times(half(s(x)), y), times(half(s(x)), y))
IF_TIMES(false, s(x), y) → PLUS(y, times(x, y))
TIMES(s(x), y) → EVEN(s(x))
IF_TIMES(false, s(x), y) → TIMES(x, y)
HALF(s(s(x))) → HALF(x)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
EVEN(s(s(x))) → EVEN(x)
PLUS(s(x), y) → PLUS(x, y)
TIMES(s(x), y) → IF_TIMES(even(s(x)), s(x), y)
IF_TIMES(true, s(x), y) → TIMES(half(s(x)), y)
IF_TIMES(true, s(x), y) → HALF(s(x))
IF_TIMES(true, s(x), y) → PLUS(times(half(s(x)), y), times(half(s(x)), y))
TIMES(s(x), y) → EVEN(s(x))
IF_TIMES(false, s(x), y) → PLUS(y, times(x, y))
HALF(s(s(x))) → HALF(x)
IF_TIMES(false, s(x), y) → TIMES(x, y)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
PLUS(s(x), y) → PLUS(x, y)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(s(x), y) → PLUS(x, y)
s1 > PLUS1
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
HALF(s(s(x))) → HALF(x)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
HALF(s(s(x))) → HALF(x)
trivial
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
EVEN(s(s(x))) → EVEN(x)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
EVEN(s(s(x))) → EVEN(x)
trivial
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
TIMES(s(x), y) → IF_TIMES(even(s(x)), s(x), y)
IF_TIMES(true, s(x), y) → TIMES(half(s(x)), y)
IF_TIMES(false, s(x), y) → TIMES(x, y)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
IF_TIMES(false, s(x), y) → TIMES(x, y)
Used ordering: Combined order from the following AFS and order.
TIMES(s(x), y) → IF_TIMES(even(s(x)), s(x), y)
IF_TIMES(true, s(x), y) → TIMES(half(s(x)), y)
even > false
true > s1
0 > false
half(0) → 0
half(s(s(x))) → s(half(x))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
TIMES(s(x), y) → IF_TIMES(even(s(x)), s(x), y)
IF_TIMES(true, s(x), y) → TIMES(half(s(x)), y)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
half(0) → 0
half(s(s(x))) → s(half(x))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
times(0, y) → 0
times(s(x), y) → if_times(even(s(x)), s(x), y)
if_times(true, s(x), y) → plus(times(half(s(x)), y), times(half(s(x)), y))
if_times(false, s(x), y) → plus(y, times(x, y))
even(0)
even(s(0))
even(s(s(x0)))
half(0)
half(s(s(x0)))
plus(0, x0)
plus(s(x0), x1)
times(0, x0)
times(s(x0), x1)
if_times(true, s(x0), x1)
if_times(false, s(x0), x1)